package data.set;

/**
 * An OfflineSetIterator is an iterator over couples (Int, Object A)
 * <code>
 * OfflineSetIterator<A> iterator;
 * while(iterator.hasNext())
 * {
 * 	iterator.next();
 *  A object=iterator.getCurrentObject();
 *  int id=iterator.getCurrentId();
 * }
 * 
 * @author denoyer
 *
 * @param <A>
 */

public interface OfflineSetIterator<A> {

	/**
	 * 
	 * @return the iterator has more objects
	 */
	public boolean hasNext();
	
	/**
	 * 
	 * @return the current object
	 */
	public A getCurrentObject();
	
	/**
	 * 
	 * @return the current id
	 */
	public int getCurrentId();
	
	/**
	 * 
	 *@return go to the next object
	 */
	public void next();

	
}
